const loginBtn = document.querySelector('#btn-login') // 登录按钮
const formBox = document.querySelector('.login-form') // 表单框

// 点击登录进行正则判定
// 1. 引入正则判定是否符合要求
// 2. 长度不够或者400时提示 "用户名或密码错误"
// 3.账号密码正确时
// ① 提示登陆成功
// ② 保存接收的数据
// ③ 延迟一秒跳转首页

// 方便用户下次登录
formBox.querySelector('#input-email').value = localStorage.getItem('username')
// 方便测试(〃'▽'〃)
formBox.querySelector('#input-password').value = localStorage.getItem('password')

// 登录功能
async function login(e) {
    try {
        // 阻止默认行为
        e.preventDefault()
        // 将表单数据以对象形式取出并解构
        let body = serialize(formBox, { hash: true, empty: true })
        let { username, password } = body

        if (isTrue(username, password)) {
            if (username.length < 8 || password.length < 5) {
                pxmu.fail('用户名或密码错误')
            } else {
                let res = await axios({
                    url: "/login", method: "POST", data: body
                })
                console.log(res.data);
                pxmu.success(res.data.message)
                // 数据待用部分解构
                let { username, token } = res.data.data
                // 将用户名和令牌存入本地
                localStorage.setItem('username', username)
                localStorage.setItem('token', token)
                // 1s后跳转至用户主页
                setTimeout(() => {
                    location.href = '../index.html'
                }, 1000);
            }
        }
    } catch (error) {
        console.log(error);
        pxmu.fail(error.response.data.message)
    }
}

loginBtn.addEventListener('click', login)